#pragma once
#include "Drawable.h"
#include "Element.h"
#include "Position.h"
#include "Texture.h"
#include <list>


class Rail : public Element, public Drawable{
	
	/*----------------Atributos-------------------------*/	
	private: list<Position*> positions;    

	private: Texture *texture;

	private: string elementColor;
			 Position * position;
			 string lineColor;

	/*--------------Constructores----------------------*/		
	
	public: Rail();
	
	/*-------------Getters & Setters--------------------*/	
	public: virtual Texture* getTexture();

	public: virtual void setTexture(Texture *texture);

	public: virtual void setElementColor(string color);

	public: virtual string getElementColor();

	public: virtual string getLineColor();

	public: virtual void setLineColor(string color);

	public: virtual void setPosition(Position *position);

	public: virtual Position * getPosition();


	/*-------------Metodos------------------------------*/	
	public: void draw();

	public: virtual void addPosition(Position *position);

	public: virtual void removePosition(Position *position);    

	/*-----------------Destructor-----------------------*/			
	public:	virtual ~Rail();

};
